import sun.reflect.generics.tree.Tree;

import java.util.*;

public class Main {
//    public static class node{
//        int var;
//        node next;
//
//        public node() {
//        }
//
//        public  node(int var){
//            this.var=var;
//        }
//    }
public static String func(String[] strs) {
    if(strs==null) return "";
    if(strs.length==1) return strs[0];
    //int one=
    int one=0,tow=1;
    String ret=strs[0];
    while(tow!=strs.length){
        int i=0;
        while(i<ret.length()&&i<strs[tow].length()){
            if(ret.charAt(i)!=strs[tow].charAt(i)) break;
            i++;
        }
        ret=ret.substring(0,i);
        tow++;
    }
    return ret;
}
    public static void main(String[] args) {
        String[] s={"flower","flow","flight"};
        System.out.println(func(s));
    }



    public static void main3(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        Stack<Integer> stack1=new Stack<>();
        stack1.push(1000001);
        Stack<Integer> stack2=new Stack<>();
        stack2.push(0);
        for(int i=0;i<n;i++){
            int a=sc.nextInt();
            if(a<stack1.peek()) {
                stack1.clear();
                stack1.push(a);
            }
            else if(a==stack1.peek()) {
                stack1.push(a);
            }
            if(a>stack2.peek()) {
                stack2.clear();
                stack2.push(a);
            }
            else if(a==stack2.peek()) {
                stack2.push(a);
            }
        }
        System.out.println(stack1.size()+" "+stack1.peek());
        System.out.println(stack2.size()+" "+stack2.peek());

    }
    public static void main2(String[] args) {
        int[] cost={10,15,20};

        int[] dp=new int[cost.length+1];
        dp[0]=cost[0];dp[1]=cost[1];
        if(cost.length<3) {
            System.out.println(Math.min(dp[0], dp[1]));
            return;
        }
        for(int i=2;i<=cost.length;i++){
            dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        System.out.println(dp[cost.length]);
        System.out.println("111"=="111");
    }
    public static void main1(String[] args) {

        LinkedList<Integer> list=new LinkedList<>();
        list.addLast(1);
        list.addLast(2);
        list.addLast(3);
        list.addLast(4);
        list.addLast(5);
        list.pollFirst();
        Integer[] nums=list.toArray(new Integer[0]);

        System.out.println(Arrays.toString(nums));
        int a=Integer.MAX_VALUE;
        System.out.println(a);

//        int[] nums={1,2,3,4,5,6};
//        node head=new node(0);
//        node cur=head;
//        for(int i=0;i<nums.length;i++){
//            node node1=new node(nums[i]);
//            cur.next=node1;
//            cur=node1;
//        }
//        cur=head;
//        while (cur!=null){
//            System.out.print(cur.var);
//            cur=cur.next;
//        }
    }
}